package com.innodata.riskEngine.common.pojo;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

/**
 * @Author liboshuai
 * @Date 2023/10/30 12:52
 */
public class BankPO implements Serializable {

    private static final long serialVersionUID = 6984843196225743923L;

    /**
     * 主键ID
     */
    private Long id;
    /**
     * 卡系统版本
     */
    private String version;
    /**
     * 生产库名
     */
    private String database;
    /**
     * 银行名称
     */
    private String name;
    /**
     * 银行号
     */
    private String bank;
    /**
     * 银行机构号
     */
    private String institution;
    /**
     * 积分系统数据库
     */
    private String clmDatabase;
    /**
     * 银行所属省份地区
     */
    private String bankProvince;
    /**
     * 银行类型：0-全国性银行；区域性银行-1（默认）
     */
    private String bankType;
    /**
     * 银行首字母
     */
    private String initals;
    /**
     * 逻辑删除标记：0-正常，1-删除
     */
    private String isDeleted;
    /**
     * 创建人
     */
    private String createUser;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 修改人
     */
    private String updateUser;
    /**
     * 修改时间
     */
    private Date updateTime;

    // setter and getter

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getDatabase() {
        return database;
    }

    public void setDatabase(String database) {
        this.database = database;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getBank() {
        return bank;
    }

    public void setBank(String bank) {
        this.bank = bank;
    }

    public String getInstitution() {
        return institution;
    }

    public void setInstitution(String institution) {
        this.institution = institution;
    }

    public String getClmDatabase() {
        return clmDatabase;
    }

    public void setClmDatabase(String clmDatabase) {
        this.clmDatabase = clmDatabase;
    }

    public String getBankProvince() {
        return bankProvince;
    }

    public void setBankProvince(String bankProvince) {
        this.bankProvince = bankProvince;
    }

    public String getBankType() {
        return bankType;
    }

    public void setBankType(String bankType) {
        this.bankType = bankType;
    }

    public String getInitals() {
        return initals;
    }

    public void setInitals(String initals) {
        this.initals = initals;
    }

    public String getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(String isDeleted) {
        this.isDeleted = isDeleted;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        BankPO bankPO = (BankPO) o;
        return Objects.equals(id, bankPO.id) && Objects.equals(version, bankPO.version) && Objects.equals(database, bankPO.database) && Objects.equals(name, bankPO.name) && Objects.equals(bank, bankPO.bank) && Objects.equals(institution, bankPO.institution) && Objects.equals(clmDatabase, bankPO.clmDatabase) && Objects.equals(bankProvince, bankPO.bankProvince) && Objects.equals(bankType, bankPO.bankType) && Objects.equals(initals, bankPO.initals) && Objects.equals(isDeleted, bankPO.isDeleted) && Objects.equals(createUser, bankPO.createUser) && Objects.equals(createTime, bankPO.createTime) && Objects.equals(updateUser, bankPO.updateUser) && Objects.equals(updateTime, bankPO.updateTime);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, version, database, name, bank, institution, clmDatabase, bankProvince, bankType, initals, isDeleted, createUser, createTime, updateUser, updateTime);
    }

    @Override
    public String toString() {
        return "BankPO{" +
                "id=" + id +
                ", version='" + version + '\'' +
                ", database='" + database + '\'' +
                ", name='" + name + '\'' +
                ", bank='" + bank + '\'' +
                ", institution='" + institution + '\'' +
                ", clmDatabase='" + clmDatabase + '\'' +
                ", bankProvince='" + bankProvince + '\'' +
                ", bankType='" + bankType + '\'' +
                ", initals='" + initals + '\'' +
                ", isDeleted='" + isDeleted + '\'' +
                ", createUser='" + createUser + '\'' +
                ", createTime=" + createTime +
                ", updateUser='" + updateUser + '\'' +
                ", updateTime=" + updateTime +
                '}';
    }
}
